using System;

namespace Copperline.Escriba
{
	/// <summary>
	/// Interface class for formatting log events.
	/// </summary>
	public interface IFormatter
	{
		/// <summary>
		/// Formats a <c>LogEntry</c> instance as an array of strings
		/// </summary>
		/// <param name="le">the <c>LogEntry</c> to be formatted</param>
		/// <returns>the array of strings representing the <c>LogEntry</c></returns>
		string[] Format( LogEntry le );

		void SetFieldSequence( params IField[] fields );
	}
}
